Faceted Information Flow and Bi-Monadic Interpreters

نویسندگان

  • Thomas Schmitz
  • Thomas H. Austin
  • Kenneth Knowles
  • Cormac Flanagan
چکیده

When an application fails to ensure information flow security, it may leak sensitive data such as passwords, credit card numbers, or medical records. News stories of such failures abound. Austin and Flanagan [2012] introduce faceted values – values that present different behavior according to the privileges of the observer – as a dynamic approach to enforcing information flow policies for an untyped, imperative λ-calculus. We implement faceted values as a Haskell library, elucidating their relationship to types and monadic imperative programming. In contrast to previous work, our approach does not require modification to the language runtime. In addition to pure faceted values, our library supports faceted mutable reference cells and secure facet-aware socket-like communication. To illustrate a non-trivial use of the library, we present an interpreter for a small language whose information flow security is guaranteed by our library. This interpreter uses a monad in the traditional way for encapsulating effects, but it also uniquely uses a second monad to structure its values.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Faceted Dynamic Information Flow via Control and Data Monads

An application that fails to ensure information flow security may leak sensitive data such as passwords, credit card numbers, or medical records. News stories of such failures abound. Austin and Flanagan[2] introduce faceted values – values that present different behavior according to the privilege of the observer – as a dynamic approach to enforce information flow policies for an untyped, impe...

متن کامل

Typed Faceted Values for Secure Information Flow in Haskell

When an application fails to ensure information flow security, it may leak sensitive data such as passwords, credit card numbers, or medical records. News stories of such failures abound. Austin and Flanagan [2012] introduce faceted values – values that present different behavior according to the privileges of the observer – as a dynamic approach to enforcing information flow policies for an un...

متن کامل

An Implementation of Modular Monadic Semantics using Folds and Monadic Folds*

Modular monadic semantics can be implemented using folds or catamorphisms over a functor that expresses the abstract syntax of the language. By composing several functors, it is possible to obtain modular interpreters from reusable components. Monadic folds structure programs that process recursively their input and control the side effects of the output they produce. We consider that the seman...

متن کامل

Compiling Monads ∗

Computational monads offer a powerful way to parameterize functional specifications, but they give rise to exceedingly tedious simplifications to instantiate this “monadic” interpreter. We report on the use of partial evaluation to achieve the following instantiations automatically. • We derive equivalent formulations of the monadic λ-interpreter, based on equivalent specifications of monads fr...

متن کامل

Infinite and Bi-infinite Words with Decidable Monadic Theories

We study word structures of the form (D,<,P ) where D is either N or Z, < is the natural linear ordering on D and P ⊆ D is a predicate on D. In particular we show: (a) The set of recursive ω-words with decidable monadic second order theories is Σ3complete. (b) Known characterisations of the ω-words with decidable monadic second order theories are transfered to the corresponding question for bi-...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2015